#ifndef FLAGMANAGER_H_
#define FLAGMANAGER_H_

#include "includes.h"

typedef map<int,double*> MapFlag;
typedef map<int,double*>::iterator MapFlagIter;

class FlagManager
{
public:
	
	FlagManager();
	~FlagManager();
	
	void loadFlagsList();
	
	double* getElementProperty(int flag);
	
	double getBoundaryConditionValue(int flag);
	
	bool hasNodeFlag(int flag);
	
private:
	
	void setPositionToRead(ifstream &fid, string str);
	
	void mapFlag(ifstream &fid, MapFlag &mapflag, string whatmap);
	
	void printFlags();
	
	MapFlag mapElementProp;
	MapFlag mapBC;	
};

#endif /*FLAGMANAGER_H_*/
